package com.example.demo.mapper;

import com.example.demo.entity.ArticleInfo;
import com.example.demo.entity.vo.ArticleInfoVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author: cheng
 * @date: 2023/6/24 16:49
 * @description:
 */
@Mapper
public interface ArticleMapper {
    //添加文章
    int add(ArticleInfo articleInfo);

    //查询是否有权限修改文章
    ArticleInfo getDetailByIdAndUid(@Param("id") Integer id,@Param("uid") Integer uid);

    //有权限后, 执行修改文章
    int update(ArticleInfo articleInfo);

    //游客情况下, 查看文章
    ArticleInfoVO getDetail(@Param("id") Integer id);

    //阅读量
    int addRCount(@Param("id") Integer id);

    //登录状态, 查看所有文章
    List<ArticleInfo> getListByUid(@Param("uid") Integer uid);

    //删除文章
    int del(@Param("id") Integer id,@Param("uid") Integer uid);

    //分页
    List<ArticleInfo> getListByPage(@Param("pageSize") Integer pageSize,@Param("offset") Integer offset);

    //查询文章总页数
    Integer getCount();

    //Integer getArtNumber(@Param("id") Integer id);
}
